﻿#define _CRT_SECURE_NO_WARNINGS 1
// 原题连接：https://www.nowcoder.com/practice/65ade309fa4d4067a9add749721bfdc0?tpId=230&tqId=40433&ru=/exam/oj

/*
题目描述：
给定一个只包含正整数的数组 nums ，请问能否把这个数组取出若干个数使得取出的数之和和剩下的数之和相同。

数据范围：
1
≤
n
≤
500

1≤n≤500  ， 数组中的元素满足
1
≤
n
u
m
s
i
≤
100

1≤nums
i
​
 ≤100
输入描述：
第一行输入一个正整数 n ，表示数组 nums 的长度。
第二行输入 n 个正整数，表示数组中的值。
输出描述：
如果满足题目条件，输出 true ，否则输出 false
示例1
输入：
4
1 5 11 5
复制
输出：
true
复制
示例2
输入：
4
1 2 3 5
复制
输出：
false
*/

#include <iostream>
using namespace std;
const int N = 510;
const int M = 110;
int nums[N];
int dp[N][N * M / 2];
int n = 0;

int main() {
    scanf("%d", &n);
    int sum = 0;
    for (int i = 1; i <= n; i++) {
        scanf("%d", &nums[i]);
        sum += nums[i];
    }
    if (sum % 2) {
        cout << "false" << endl;
        return 0;
    }
    dp[0][0] = true;
    sum /= 2;
    for (int i = 1; i <= n; i++) {
        for (int j = 0; j <= sum; j++) {
            dp[i][j] = dp[i - 1][j];
            if (j >= nums[i]) {
                dp[i][j] = dp[i - 1][j] || dp[i - 1][j - nums[i]];
            }
        }
    }
    if (dp[n][sum]) {
        cout << "true" << endl;
    }
    else {
        cout << "false" << endl;
    }
    return 0;
}